Some types of flash memory include memory cells that can each be programmed to multiple levels. Instead of simply storing a charge or voltage that is representative of a logical ‘1’ or ‘0’, the memory cells can store different quantities of charge that are representative of, for example, levels 0, 1, and 2, or levels 0, 1, 2, 3, 4, 5, 6, and 7. These tri-level cell (“TLC”) memory or multi-level cell (“MLC”) memory expand the quantity of information stored in a single cell, but these expansive features come at a cost.
One of the difficulties or issues associated with TLC or MLC memory is that certain conditions can cause a value or level stored in a cell to be inadvertently changed, effectively causing the memory cell to be mis-programmed. Flash memory cells store different quantities of charge to a floating gate of the memory cell to alter the threshold voltage of the transistor that constitutes the memory cell. If a programming voltage is higher than anticipated or if more electrons (than are anticipated) are available at the channel of the memory cell being inhibited, then Fowler-Nordheim tunneling may result in inadvertent over-programming of a memory cell, which is one type of program disturb.
Although the following Detailed Description will proceed with reference being made to illustrative embodiments, many alternatives, modifications and variations thereof will be apparent to those skilled in the art.